Doubly Linked List
import java.util.*; class dnode{ int data; dnode left,right; } class doublelinkedlistDemo{ public static void main(String[] args){ dnode first=null, temp, dummy; dummy = new dnode(); System.out.println("Creating Doubly Linked List!!!"); int choice; int data; Scanner sc = new Scanner(System.in); while(true){ System.out.println("\n1.Insert\n2.Show\n3.Back Track\n4.Remove First Node\n5.Insert Before Firs node"); choice = sc.nextInt(); switch(choice){ case 1: System.out.println("Enter Integer Data:"); data = sc.nextInt(); temp = new dnode(); temp.data = data; temp.left = temp.right = null; if(first == null){ first = temp; dummy = temp; }else{ dummy.right = temp; temp.left = dummy; dummy = temp; } break; case 2: System.out.println("Show contents of List: \n"); for(temp=first;temp.right!=null;temp=temp.right){ System.out.print(temp.data+" "); }System.out.print(temp.data+" "); break; case 3: System.out.println("Back Tracking: \n"); for(temp=dummy;temp.left!=null;temp=temp.left){ System.out.print(temp.data+" "); }System.out.print(temp.data+" "); break; case 4: System.out.println("Removing First Node of List"); temp = first.right; first = temp; first.left = null; break; case 5: System.out.println("Insert Before First Node"); data = sc.nextInt(); temp = new dnode(); temp.data = data; temp.left = temp.right = null; temp.right = first; first.left = temp; first = temp; break; default:System.exit(0); break; } } } } Output Creating Doubly Linked List!!! 1.Insert 2.Show 3.Back Track 4.Remove First Node 5.Insert Before Firs node 1 Enter Integer Data: 33 1.Insert 2.Show 3.Back Track 4.Remove First Node 5.Insert Before Firs node 1 Enter Integer Data: 44 1.Insert 2.Show 3.Back Track 4.Remove First Node 5.Insert Before Firs node 1 Enter Integer Data: 5 1.Insert 2.Show 3.Back Track 4.Remove First Node 5.Insert Before Firs node 2 Show contents of List: 33 44 5 1.Insert 2.Show 3.Back Track 4.Remove First Node 5.Insert Before Firs node 3 Back Tracking: 5 44 33 1.Insert 2.Show 3.Back Track 4.Remove First Node 5.Insert Before Firs node 4 Removing First Node of List 1.Insert 2.Show 3.Back Track 4.Remove First Node 5.Insert Before Firs node 2 Show contents of List: 44 5 1.Insert 2.Show 3.Back Track 4.Remove First Node 5.Insert Before Firs node